package com.jt.controller;

import com.jt.service.FileService;
import com.jt.service.ItemService;
import com.jt.vo.ImageVO;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

@RestController
@CrossOrigin
@RequestMapping("/file")
public class FileController {
    @Autowired
    private FileService fileService;
    /**
     * 请求路径: http://localhost:8091/file/upload
     * 请求类型: post
     * 请求参数:file
     * 返回值:SysResult(imageVO)
     * 针对流的新版高级API，一般用于业务：MultipartFile
     * 由springframework提供\
     *
     * 文件上传步骤：
     * 1.获取文件名称，使用API工具，需要记忆API工具
     * 2.准备文件目录，linux系统不能识别\\，以后业务都使用 /
     * 2.1 判断文件目录是都存在，文件夹.exists()判断目录是否存在，存在返回true
     * !文件夹.exists()取反，不存在返回true
     * 3.拼接文件的全路径
     * 4.实现文件的上传 file.transferTo()
     * */
    @PostMapping("/upload")
    public SysResult upload(MultipartFile file) throws IOException {
        ImageVO imageVO = fileService.upload(file);
        return SysResult.success(imageVO);
    }
    /**
     *请求路径: http://localhost:8091/file/deleteFile
     * 请求类型: delete
     * 请求参数:virtualPath虚拟路径
     */
    @DeleteMapping("/deleteFile")
    public SysResult deleteFile(String virtualPath){
        fileService.deleteFile(virtualPath);
        return SysResult.success();
}
    }
